package com.guigu.user.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.guigu.tms.result.PageResult;
import com.guigu.tms.result.R;
import com.guigu.user.entity.AddressBook;
import com.baomidou.mybatisplus.extension.service.IService;
import com.guigu.user.entity.query.AddressBookQuery;
import com.guigu.user.entity.vo.AddressBookVO;

import java.util.List;

/**
 * <p>
 * 地址簿 服务类
 * </p>
 *
 * @author TaoLong
 * @since 2021-11-09
 */
public interface AddressBookService extends IService<AddressBook> {
    /**
     * 分页条件查询地址薄信息
     *
     * @param addressBookQuery 查询对象
     * @param pageSize         查询数量大小
     * @param pageNum          页码
     * @return
     */
    public PageResult<List<AddressBookVO>> queryByNameOrPhoneOrCompanyName(AddressBookQuery addressBookQuery, Integer pageSize, Integer pageNum);


    /**
     * 设为默认地址
     *
     * @param addressBookVO 地址ID
     * @return
     */
    public R changeTheDefaultAddress(AddressBookVO addressBookVO);

    /**
     * 根据用户id查询所对应的地址信息
     *
     * @param query
     * @param pageSize
     * @param pageNum
     * @return
     */
    public R<Page<AddressBookVO>> queryAddressBookBasedOnUserId(AddressBookQuery query, Integer pageSize, Integer pageNum);

    /**
     * 检查该用户是否通过审核
     * @param id
     */
    public void checkAndReview(String id);
}
